跳到主要内容

Github 多用户

为不同的仓库配置不同的用户信息:

git config user.name "Your Name"
git config user.email "your_email@example.com"

再创建一个新的 SSH key 并添加到 Github 上

运行 ssh-keygen 命令,当提示输入文件路径时,确保为每个密钥指定一个唯一的名称,以避免覆盖现有密钥。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

当提示输入文件路径时,输入:

/home/yourusername/.ssh/id_rsa_小号名

这个 your_email@example.com 替换为你的邮箱地址。这个邮箱地址仅作为密钥的标识,和GitHub账户的邮箱可以不同。

添加新的 SSH 密钥到 ssh-agent

确保 ssh-agent 正在运行:

提示

ssh-agent是一个辅助程序,用于管理SSH私钥和自动处理公钥身份验证过程。当你需要通过SSH连接到服务器或使用git进行代码提交时,如果你的私钥被密码保护,每次都需要输入密码,这会很麻烦。ssh-agent可以在后台运行,它会在第一次需要时请求你的密码,之后在其运行期间会记住你的私钥和密码,自动为你处理身份验证过程,从而简化了使用SSH私钥的过程。

eval "$(ssh-agent -s)"

将新的 SSH 密钥添加到 ssh-agent:

ssh-add ~/.ssh/id_rsa_小号名

注意 Windows 下的 ssh-agent 默认可能是禁用的

启用 ssh-agent 服务

按下 Windows键 + R 来打开运行对话框。 输入 services.msc 并按 Enter,这会打开服务管理器。 在服务列表中找到 OpenSSH Authentication Agent 服务。 右击它,选择属性。 将启动类型改为自动,然后点击应用。 如果服务当前未运行,点击启动按钮启动服务,然后点击确定。

确认ssh-agent正在运行,通过运行:

Get-Service ssh-agent | Select-Object Status

确保状态是Running。

配置 SSH 使用特定的密钥

编辑 ~/.ssh/config 文件来为用户指定使用这个新的SSH密钥。添加以下配置:

Host github.com-小号名
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_小号名

之后,当你想要使用新账户克隆或操作GitHub仓库时,需要将仓库的远程URL设置为使用这个特定的Host,例如:

git clone git@github.com-小号名:小号名/your-repository.git

# 再配置一下用户信息
git config user.email "小号名.gmail.com"
git config user.name "小号名"

这样,Git和SSH就会知道对于与新用户相关的操作应该使用哪个密钥。